﻿Imports System.Data.SqlClient
Public Class clsKetNoi
    Public Function fncKetNoiVoiQuyenCuaWindow(ByVal strServerName As String, ByVal strDatabaseName As String) As String
        Dim strConnectionString = "server='" & strServerName & "';database='" & strDatabaseName & "';integrated security = SSPI"
        Dim myConn As New SqlConnection(strConnectionString)
        Dim strError As String = ""
        Try
            myConn.Open()
            'Lấy thông tin thiết lập
            strError = Me.LayThongTinThietLap(myConn)
            If strError = "" Then
                'Giữ lại chuỗi kết nối để sử dụng
                modKetNoi.strConnectionString = strConnectionString
                modKetNoi.aryConfig("Locked") = checkIsLocked(modKetNoi.aryConfig("Thang"), modKetNoi.aryConfig("Nam"))
            End If
        Catch ex As Exception
            ' Khi dòng lệnh myConn.Open() không thành công sẽ phát sinh lỗi
            strError = "Lỗi đăng nhập!"
        End Try
        myConn.Close()
        myConn.Dispose()
        ' Trường hợp ko phát sinh lỗi, tức là đăng nhập thành công thì strError sẽ bằng chuỗi rỗng
        Return strError
    End Function

    Public Function fncKetNoiCoChiDinhUser(ByVal strServerName As String, ByVal strDatabaseName As String, ByVal strUser As String, ByVal strPass As String) As String
        Dim strConnectionString = "server='" & strServerName & "';database='" & strDatabaseName & "';uid='" & strUser & "';pwd='" & strPass & "'"
        Dim myConn As New SqlConnection(strConnectionString)
        Dim strError As String = ""
        Try
            myConn.Open()
            'Lấy thông tin thiết lập
            strError = Me.LayThongTinThietLap(myConn)
            If strError = "" Then
                'Giữ lại chuỗi kết nối để sử dụng
                modKetNoi.strConnectionString = strConnectionString
                modKetNoi.aryConfig("Locked") = checkIsLocked(modKetNoi.aryConfig("Thang"), modKetNoi.aryConfig("Nam"))
            End If
        Catch ex As Exception
            ' Khi dòng lệnh myConn.Open() không thành công sẽ phát sinh lỗi
            strError = "Lỗi đăng nhập!"
        End Try
        myConn.Close()
        myConn.Dispose()
        ' Trường hợp ko phát sinh lỗi, tức là đăng nhập thành công thì strError sẽ bằng chuỗi rỗng
        Return strError
    End Function

    Private Function LayThongTinThietLap(ByVal myConn As SqlConnection) As String
        Dim strError As String = ""
        Dim strSql As String = "select TuKhoa, GiaTri from ThietLap"
        Dim myCommand As New SqlCommand
        Dim myAdapter As New SqlDataAdapter(strSql, myConn)
        Dim myTable As New DataTable
        Try
            myAdapter.Fill(myTable)
            For Each myRow As DataRow In myTable.Rows
                modKetNoi.aryConfig(myRow.Item(0)) = myRow.Item(1).ToString
            Next
            If modKetNoi.aryConfig("Thang") = "" Then
                modKetNoi.aryConfig("Thang") = Now.Month
                modKetNoi.aryConfig("Nam") = Now.Year
            End If
        Catch ex As Exception
            strError = "Sai cấu trúc Cơ Sở Dữ Liệu!"
        End Try
        Return strError
    End Function

End Class
